package d0509;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class catch语法规则 {
	
	/**
	 * 如果没有发生异常，则catch块不会执行
		有多个catch块的时候，是按照catch块的先后顺序进行匹配的
		一个异常类型只能被一个catch块匹配
		父类异常必须在子类异常的下方
		运行期异常可以不用捕获
	 */
	public static void main(String[] args) {

		FileReader fr = null;

		try {
			// 创建文件输入字符流
			fr = new FileReader("c:\\a.txt");
			// 读取文件内容
			fr.read();
			
			int a = 1/0;
			System.out.println(a);
			
		} catch (FileNotFoundException e) { // 在类上 + ctrl + 鼠标点击  ==> 查看源码 (必须配置jdk)
			System.out.println("文件没找到");
		} catch (IOException e) {
			System.out.println("文件读取错误");
			/**
			 * Unreachable catch block for FileNotFoundException. 
			 * It is already handled by the catch block for IOException
			 * 
			 * 死代码
			 */
		//} catch (ArithmeticException e) {
			// 运行期异常可以不用捕获
		}

	}

}
